package com.gpframework.module.wages.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.common.core.domain.BasePlusEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName GzWarehousePersonnel
 * @Author gpframework
 * @Date 2024-01-22
 * @Version 1.0.0
 * @Description 仓库工资条 PO对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
@TableName("gz_warehouse_personnel")
public class GzWarehousePersonnel extends BasePlusEntity {
    private static final long serialVersionUID = 1L;

    /** 主键自增 */
    private Long id;
    /** 月份 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date month;
    /**是否上报**/
    private Long escalation;
    /**是否审批**/
    private Long examineAndApprove;
    /** 打印 */
    private Long print;
    /** 部门 */
    private String departmentName;
    /** 员工id */
    private Long userId;
    /** 名字 */
    private String name;
    /** 基本工资 */
    private BigDecimal baseSalary=new BigDecimal(0);
    /** 岗位工资 */
    private BigDecimal postWage=new BigDecimal(0);
    /** 管理津贴 */
    private BigDecimal managementAllowance=new BigDecimal(0);
    /** 住房津贴 */
    private BigDecimal houseAllowance=new BigDecimal(0);
    /** 社保补贴 */
    private BigDecimal socialSecuritySubsidies=new BigDecimal(0);
    /** 绩效奖金 */
    private BigDecimal achievementBonus=new BigDecimal(0);
    /** 评定奖金 */
    private String evaluateBonus="0";
    /** 应出勤天数 */
    private Double requiredAttendanceDays=0D;
    /** 实际出勤天数 */
    private Double attendanceDays=0D;
    /** 出勤基本工资 */
    private BigDecimal attendanceSalary=new BigDecimal(0);
    /** 出勤岗位工资 */
    private BigDecimal attendancePositionSalary=new BigDecimal(0);
    /** 出勤管理津贴 */
    private BigDecimal attendanceManagementAllowance=new BigDecimal(0);
    /** 出勤住房津贴 */
    private BigDecimal attendanceHousingAllowance=new BigDecimal(0);
    /** 出勤社保补贴 */
    private BigDecimal attendanceSocialSecuritySubsidy=new BigDecimal(0);
    /** 月度绩效奖金 */
    private BigDecimal monthlyPerformanceBonus=new BigDecimal(0);
    /** 月度评定奖金 */
    private BigDecimal monthlyEvaluationBonus =new BigDecimal(0);
    /** 加班工资 */
    private BigDecimal overtimePay=new BigDecimal(0);
    /** 全勤奖 */
    private BigDecimal fullAttendanceAward=new BigDecimal(0);
    /** 工龄奖 */
    private BigDecimal serviceExperienceAward=new BigDecimal(0);
    /** 其他补贴 */
    private BigDecimal otherSubsidies=new BigDecimal(0);
    /** 违纪赔偿 */
    private BigDecimal compensateFor=new BigDecimal(0);
    /** 餐费扣款 */
    private BigDecimal mealFeeDeduction=new BigDecimal(0);
    /** 补贴/社保个人部分   其他扣款*/
    private BigDecimal subsidy=new BigDecimal(0);
    /** 合计 */
    private BigDecimal amountTo;
    /** 工资实发 */
    private BigDecimal actualSalaryPaid;
    /** 备注 */
    private String remarks;
    /** 排序 */
    private Long sort;
    /** 公司带薪假 */
    private BigDecimal paidLeaveCompany;
    /** 缺勤天数 */
    private BigDecimal absenceDays;

}
